1. Field of the Invention
The present invention relates to data transferring apparatuses that control multiple endpoint devices, and to control methods for such apparatuses.
2. Description of the Related Art
A data transferring system in which a host and multiple endpoint devices are connected via a switch, a hub, or the like, and which carries out the point-to-point transfer of image data, commands, and so on, is known. For example, with PCI-Express, which has in recent years been put into practical application as a high-speed serial transfer technique, a host and an endpoint device are connected point-to-point (that is, are connected one-to-one). Accordingly, a switch that is compliant with PCI-Express is used when connecting multiple endpoint devices to the host in order to carry out point-to-point communication (see Japanese Patent Laid-Open No. 2005-148896).
Generally speaking, the transition has followed the procedure described hereinafter in a data transferring system that is configured of a host, a switch, and endpoints, when transiting the link of an endpoint device to an L2 state (an example of a suspend state as defined by PCI-Express; details will be given later).
1. The host sends a message to the switch for transiting the endpoint device and a corresponding port within the switch to the L2 state.
2. The message sent in 1 is broadcasted by the switch, and is sent to all of the endpoint devices that are under that switch.
3. Each endpoint device that has received the stated message sends, to the switch, a message indicating acceptance of the suspension.
4. Upon receiving a message indicating acceptance of the suspension from all of the endpoint devices, the switch sends a message indicating acceptance of the suspension to the host.
5. The host transits all of the links to the endpoint devices to the L2 state.
On the other hand, when resuming a link from the L2 state (the suspend state) to an L0 state (a normal state), the link is restored from the initial state of the link, in accordance with an LTSSM (Link Training Status State Machine). Note that a “state in which a link is established” refers to a state in which a connection that enables data communication is maintained.
Meanwhile, with USB 3.0, which is currently garnering attention as a high-speed serial transfer technique, a focus on mobile devices has led to a strong demand for a reduction in energy consumption; therefore, the USB controller does not carry out polling, and four link states (U0, U1, U2, and U3) are provided. The U0 state is “link active”; the U1 and U2 states are “link idle”; and the U3 state is “suspended”. With USB 3.0, a USB hub is used in order to connect a host to multiple endpoint devices in a point-to-point manner (see Japanese Patent Laid-Open No. 11-305880). With USB 3.0, the host can transit a specific endpoint device connected to the hub from the U0 state to the U3 state through software control. When resuming a link from the U3 state (suspended) to the U0 state (normal), on the other hand, the link between the host and the endpoint device is restored from the initial state of the link in accordance with a power state diagram prepared for USB 3.0.
Generally, when resuming a suspended device, it has been necessary for the host to establish a link after putting the device in its initial state, and thus a heavy load has been placed on the host that carries out the resume process for the device. This applies to both PCI-Express and USB 3.0.